Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Wimbledon - London U.S. Open - New York Buenos Aires Challenger Oeiras 1 Challenger Australian Open - Melbourne Oeiras 2 Challenger Nonthaburi 1 Challenger Tenerife 2 Challenger Tenerife 3 Challenger Girona Challenger M25+H Ajaccio Rennes Challenger Curitiba Challenger Valencia Challenger Campinas Challenger Montevideo Challenger M25 Santa Margherita di Pula M25 Vila Real de Santo Antonio M15 Monastir M25 Vila Real de Santo Antonio M25 Porto M25 Reus M25 Grasse Pozoblanco Challenger Porto Challenger M25 Santa Margherita di Pula Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F3 Brazil F31 Brazil F32 France F12 France F14 Greece F7 France F3 Portugal F1 Portugal F2 Vietnam F1 Vietnam F2 Vietnam F3 France F8 Greece F5 Bulgaria F2 France F13 Finland F1 Austria F7 Austria F8 France F1 France F2 France F3 Spain F2 Spain F3 Spain F4 Spain F5 Croatia F5 Croatia F6 Croatia F7 Italy F10 Italy F11 France F9 France F17 France F21 France F22 Belarus F3 Cyprus F2 France F16 France F21 France F22 Greece F11 Israel F1 Israel F2 Italy F6 Italy F7 Italy F8 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 France F11 France F12 France F13 France F16 Switzerland F3 Switzerland F4 France F18 Sweden F4 Sweden F5 Portugal F1 Switzerland F1 (Oberentfelden) Canada F1 (Gatineau) Canada F2 (Sherbrooke) Italy F9 (Santa Margherita Di Pula) France F9 (Angers) USA F2 France F15 (Ajaccio) Ireland F2 (Dublin) Greece F7 (Heraklion) Tunisia F4 (Jerba) Tunisia F5 (Jerba) Tunisia F6 (Jerba) Canada F1 (Gatineau) Canada F2 (Sherbrooke) USA F7 (Bakersfield) USA F8 (Calabasas) Italy F9 (Santa Margherita Di Pula) France F9 (Grasse) Czech Republic F1 (Prague) France F13 (Ajaccio) Belgium F4 (Knokke) Italy F25 (Piombino) Italy F26 (Trieste) M15 Manacor M15 Manacor M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Faro M15 Loule M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25+H Toulouse M25 Bakio M25 Vogau M25+H Bydgoszcz M25 Santa Margherita Di Pula M15 Manacor M15 Toulouse M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M15 Monastir M15 Monastir M25 Vale do Lobo M25 Faro M15 Monastir M15 Monastir M15 Monastir M25 Vic M25 Koksijde M25 Trier M25 Setubal M25 Loule M25 Quinta Do Lago M25 Portimao M25 Monastir M25 Monastir M15 Monastir M25 Vale do Lobo M25 Faro M25 Portimao M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 La Nucia M25 Skopje M25 Casinalbo Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F18 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Usa F15 Brazil F22 France F13 Brazil F33 Brazil F1 Colombia F1 Colombia F2 USA F7 Hong Kong F1 Slovenia F2 Slovenia F3 France F11 Portugal F3 Brazil F26 Bulgaria F3 France F16 France F12 Brazil F33 France F20 France F4 France F5 France F6 France F8 France F10 France F11 M15 Monastir M25 Quinta do Lago M25 Santa Margherita Di Pula M25 Quinta Do Lago M25+H Ajaccio M25 Carnac M25 Nonthaburi M25 Nonthaburi M15 Sintra M25 Monastir M25 Vale do Lobo Naples Challenger - Naples JSM Challenger of Champaign - Urbana Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Tunis Challenger Asuncion Challenger Bordeaux Challenger Santos Challenger Kosice Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Bucaramanga Challenger M25 Grasse Itajai Challenger Santos Challenger Meknes Challenger Campinas Challenger Kenitra Challenger M25 Vale do Lobo Sao Jose Do Rio Preto Challenger Charlottesville Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Santos Challenger Aix En Provence Challenger Bordeaux Challenger Furth Challenger Blois Challenger Padova Challenger Marburg Challenger Braunschweig Challenger Todi Challenger Portoroz Challenger Tampere Challenger Liberec Challenger Prague Challenger Meerbusch Challenger Campinas Challenger Orleans Challenger Porto Alegre Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Noumea Challenger Bucaramanga Challenger Santo Domingo Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Vancouver Challenger Como Challenger Meknes Challenger Campinas Challenger Porto Alegre Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Bangkok Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Lyon Challenger Milan Challenger Braunschweig Challenger St. Remy Challenger Brest Challenger Lima Challenger Guayaquil Challenger Quimper Challenger Drummondville Challenger St. Brieuc Challenger Sophia Antipolis Challenger Barletta Challenger Francavilla Challenger Bordeaux Challenger Mestre Challenger Lyon Challenger Lisbon Challenger Todi Challenger Milan Challenger Segovia Challenger Floridablanca Challenger Como Challenger Seville Challenger Rome Challenger Campinas Challenger Ortisei Challenger Buenos Aires Challenger Lima Challenger Montevideo Challenger Santiago Challenger Santiago Challenger Barletta Challenger Tunis Challenger Aix En Provence Challenger Braga Challenger Mestre Challenger Shymkent Challenger Como Challenger M25 Santa Margherita di Pula Biella Challenger Tiburon Challenger Campinas Challenger Calgary Challenger Las Vegas Challenger M25 Santa margherita di Pula Buenos Aires Challenger Orlando Challenger Columbus Challenger Chennai Challenger Barletta Challenger Sarasota Challenger Francavilla Challenger M25 Heraklion Lisbon Challenger Nur-Sultan Challenger Sopot Challenger Sibiu Challenger Campinas Challenger Santo Domingo Challenger Las Vegas Challenger Cherbourg Challenger Ann Arbor Challenger M25 Villeneuve-Loubet Bengalaru Challenger Sao Paulo Challenger M25+H Ajaccio Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Lyon Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Verona Challenger M25 Mataro Cassis Challenger Biel Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Bordeaux Challenger Forli 6 Challenger Perugia Challenger Oeiras 3 Challenger Amersfoort Challenger Tampere Challenger Lima Challenger Vancouver Challenger Mallorca Challenger M25 Villeneuve-Loubet M25 Huelva Istanbul Challenger St. Tropez Challenger Vilnus Challenger Las Vegas Challenger Montevideo Challenger Sao Leopoldo Challenger M25 Montauban Noumea Challenger Koblenz Challenger Vilnius Challenger Pau Challenger Waco Challenger Puerto Vallarta Challenger Las Franquesas del Valles Challenger Aix En Provence Challenger Tunis Challenger Nottingham Challenger Ilkley Challenger Porto Challenger Charleston Challenger Santa Fe 2 Challenger Montevideo Challenger Manama Challenger Murcia Challenger Oeiras 3 Challenger Francavilla Challenger Oeiras 4 Challenger Zagreb Challenger Porto Alegre Challenger Sao Paulo Challenger Buenos Aires Challenger Poznan Challenger M15 Torello Milan Challenger Marburg Challenger Sao Paulo Challenger Campinas Challenger M25 Bol M25 Mataro M25 Bol Pozoblanco Challenger Bordeaux Challenger Grodzisk Mazowiecki Challenger Manacor Challenger Porto 2 Challenger Seville Challenger Cassis Challenger M25 Figueira da Foz Lisbon Challenger Olbia Challenger Bergamo Challenger Lima 2 Challenger Tenerife 1 Challenger Braunschweig Challenger Estoril Challenger Oeiras 5 Challenger Cherbourg Challenger Hersonissos 3 Challenger Quimper Challenger Irving Challenger Kazan Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Napoli Challenger Caltanissetta Challenger Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril Open de Nice Cote d'Azur - Nice 2007 Knoxville Challenger - Knoxville VTR Open - Vina del Mar Brasil Open - Sao Paulo Estoril Open - Estoril Sao Paulo Challenger Bancolombia Open - Bogota Rio De Janeiro Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas Roma Open Challenger - Rome VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires San Remo Tennis Cup - San Remo Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras Open Sud de France - Montpellier U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Challenger Banque Nationale - Granby Portugal Open - Oeiras Bet-at-home Open - Hamburg Moncton Men's Challenger - Moncton Moselle Open - Metz Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha BB&T Atlanta Open - Atlanta Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Levene Gouldin & Thompson Tennis Challenger - Binghamton Brasil Open - Sao Paulo SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Shenzhen Open - Shenzhen If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Brasil Open - Sao Paulo Le Gosier Challenger Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg M25 Monastir Semgroup Challenger - Tulsa Generali Open - Kitzbuhel Nielsen USTA Pro Tennis Championship - Winnetka Sacramento Challenger - Sacramento Tampere Challenger Oldum Brown Vancouver Open - Vancouver GHI Bronx Tennis Classic - Bronx National Bank Men's Rimouski Challenger - Rimouski Argentina Open - Buenos Aires Challenger Britania Zavaleta - Puebla Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Salinas Challenger Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Ford Tennis Championships - Louisville Orleans Challenger Millennium Estoril Open - Estoril Brest Challenger Open 13 Provence - Marseille Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Santo Domingo Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Cherbourg Challenger Dallas Challenger Recife Challenger Prague Challenger Campos do Jordao Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Cherbourg Challenger Florianopolis Challenger Cassis Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Columbus Challenger Istanbul 2 Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Sony Ericsson Open - Miami Arad Challenger Sony Ericsson Open - Miami Timisoara Challenger BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Tampere Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid St. Remy Challenger Madrid Challenger BNP Paribas Open - Indian Wells Sao Paulo Challenger Brasov Challenger Porto Challenger Western & Southern Open - Cincinnati Villena Challenger BNP Paribas Open - Indian Wells Belem Challenger Sassuolo Challenger Mallorca Challenger Lisbon Challenger Tiburon Challenger Dallas Challenger Naples Challenger Bordeaux Challenger Aptos Challenger Segovia Challenger Buenos Aires Challenger Montevideo Challenger Roanne Challenger Bucaramanga Challenger Barletta Challenger Genova Challenger Oeiras 2 Challenger Kobe Challenger Toyota Challenger Aix En Provence Challenger Aix En Provence Challenger Braunschweig Challenger Scheveningen Challenger Braga Challenger Guayaquil Challenger Rennes Challenger Le Gosier Challenger Genova Challenger Santo Domingo Challenger Guayaquil Challenger Montevideo Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Rome Challenger Todi Challenger Bordeaux Challenger Braga Challenger Sibiu Challenger Seville Challenger Buenos Aires Challenger Oeiras 3 Challenger Lima Challenger Girona Challenger Aix En Provence Challenger Lisbon Challenger Maia Challenger Newport Beach Challenger Manacor Challenger Forli Challenger Forli 4 Challenger Aix En Provence Challenger Cassis Challenger Rio De Janeiro Challenger Canberra Challenger Monterrey Challenger Prague 2 Challenger Seville Challenger Lima 2 Challenger Montechiarugolo - Parma Challenger Girona Challenger Aix En Provence Challenger Barletta Challenger Lyon Challenger Braga Challenger Guayaquil Challenger Oeiras 1 Challenger Oeiras 4 Challenger Hersonissos 4 Challenger Forli 5 Challenger Lisbon Challenger Roseto Degli Abruzzi 2 Challenger Lille Challenger Campinas Challenger St. Brieuc Challenger Madrid Challenger Braunschweig Challenger Braga Challenger Campbells Hall of Fame Tennis Championships - Newport Cherbourg Challenger Copa Claro - Buenos Aires Mercedes Cup - Stuttgart Open Sud de France - Montpellier Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg US Men's Clay Court Championship - Houston Millennium Estoril Open - Estoril Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Wimbledon (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Olympics - Rio de Janeiro